<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Kinetis Bootloader Host: StIntelHexFile Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="nxp_logo_small.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Kinetis Bootloader Host
   &#160;<span id="projectnumber">2.0.0</span>
   </div>
   <div id="projectbrief">Host Tools for Kinetis devices</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Introduction</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('class_st_intel_hex_file.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="class_st_intel_hex_file-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">StIntelHexFile Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Intel Hex parser.  
 <a href="class_st_intel_hex_file.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_st_intel_hex_file_8h_source.html">StIntelHexFile.h</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Collaboration diagram for StIntelHexFile:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="class_st_intel_hex_file__coll__graph.svg" width="487" height="398"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:struct_st_intel_hex_file_1_1_intel_hex"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_intel_hex_file.html#struct_st_intel_hex_file_1_1_intel_hex">IntelHex</a></td></tr>
<tr class="separator:struct_st_intel_hex_file_1_1_intel_hex"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:ac902c707a034d1eb89b56bb6fe13ab24"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac902c707a034d1eb89b56bb6fe13ab24"></a>
typedef std::vector&lt; <a class="el" href="class_st_intel_hex_file.html#struct_st_intel_hex_file_1_1_intel_hex">IntelHex</a> &gt;::<a class="el" href="class_st_intel_hex_file.html#ac902c707a034d1eb89b56bb6fe13ab24">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_intel_hex_file.html#ac902c707a034d1eb89b56bb6fe13ab24">const_iterator</a></td></tr>
<tr class="memdesc:ac902c707a034d1eb89b56bb6fe13ab24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterator type. <br /></td></tr>
<tr class="separator:ac902c707a034d1eb89b56bb6fe13ab24"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:abce25d76103d254a24b5ae0139e4fdf0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abce25d76103d254a24b5ae0139e4fdf0"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_intel_hex_file.html#abce25d76103d254a24b5ae0139e4fdf0">StIntelHexFile</a> (std::istream &amp;inStream)</td></tr>
<tr class="memdesc:abce25d76103d254a24b5ae0139e4fdf0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
<tr class="separator:abce25d76103d254a24b5ae0139e4fdf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37726a97d5c949871ae6e561cd9828ee"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_intel_hex_file.html#a37726a97d5c949871ae6e561cd9828ee">~StIntelHexFile</a> ()</td></tr>
<tr class="memdesc:a37726a97d5c949871ae6e561cd9828ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a37726a97d5c949871ae6e561cd9828ee">More...</a><br /></td></tr>
<tr class="separator:a37726a97d5c949871ae6e561cd9828ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">File name</div></td></tr>
<tr class="memitem:a14a81c633cdd1702426b7fdbd309ff77"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14a81c633cdd1702426b7fdbd309ff77"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>setName</b> (const std::string &amp;inName)</td></tr>
<tr class="separator:a14a81c633cdd1702426b7fdbd309ff77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fe84d8d2b537c0ae0275f7cfe3958a6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7fe84d8d2b537c0ae0275f7cfe3958a6"></a>
virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><b>getName</b> () const </td></tr>
<tr class="separator:a7fe84d8d2b537c0ae0275f7cfe3958a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Parsing</div></td></tr>
<tr class="memitem:a399e83b4aca8c4736f0c992de9437601"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_intel_hex_file.html#a399e83b4aca8c4736f0c992de9437601">isIntelHexFile</a> ()</td></tr>
<tr class="memdesc:a399e83b4aca8c4736f0c992de9437601"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine if the file is a Intel Hex file.  <a href="#a399e83b4aca8c4736f0c992de9437601">More...</a><br /></td></tr>
<tr class="separator:a399e83b4aca8c4736f0c992de9437601"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ddac1cc6452490a040587ef8898da12"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_intel_hex_file.html#a1ddac1cc6452490a040587ef8898da12">parse</a> ()</td></tr>
<tr class="memdesc:a1ddac1cc6452490a040587ef8898da12"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse the entire <a class="el" href="class_st_intel_hex_file.html#struct_st_intel_hex_file_1_1_intel_hex">IntelHex</a> input stream.  <a href="#a1ddac1cc6452490a040587ef8898da12">More...</a><br /></td></tr>
<tr class="separator:a1ddac1cc6452490a040587ef8898da12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Record access</div></td></tr>
<tr class="memitem:a97aad2d5b0d73357cd1c91afc6b45b0c"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_intel_hex_file.html#a97aad2d5b0d73357cd1c91afc6b45b0c">getRecordCount</a> () const </td></tr>
<tr class="separator:a97aad2d5b0d73357cd1c91afc6b45b0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c000d8ebb7535feb74de81edea92c4a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_st_intel_hex_file.html#ac902c707a034d1eb89b56bb6fe13ab24">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_intel_hex_file.html#a9c000d8ebb7535feb74de81edea92c4a">getBegin</a> () const </td></tr>
<tr class="separator:a9c000d8ebb7535feb74de81edea92c4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6562dde60a7d0b8b802e6aeb9a8a30b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae6562dde60a7d0b8b802e6aeb9a8a30b"></a>
<a class="el" href="class_st_intel_hex_file.html#ac902c707a034d1eb89b56bb6fe13ab24">const_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>getEnd</b> () const </td></tr>
<tr class="separator:ae6562dde60a7d0b8b802e6aeb9a8a30b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Operators</div></td></tr>
<tr class="memitem:a292dd08a102281c4d38e04b3e088cc6f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a292dd08a102281c4d38e04b3e088cc6f"></a>
const <a class="el" href="class_st_intel_hex_file.html#struct_st_intel_hex_file_1_1_intel_hex">IntelHex</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator[]</b> (unsigned inIndex)</td></tr>
<tr class="separator:a292dd08a102281c4d38e04b3e088cc6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Parsing utilities</div></td></tr>
<tr class="memitem:a9750cf272567fc1808c5c7dac984631b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_intel_hex_file.html#a9750cf272567fc1808c5c7dac984631b">parseLine</a> (std::string &amp;inLine)</td></tr>
<tr class="memdesc:a9750cf272567fc1808c5c7dac984631b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parses individual Intel Hex.  <a href="#a9750cf272567fc1808c5c7dac984631b">More...</a><br /></td></tr>
<tr class="separator:a9750cf272567fc1808c5c7dac984631b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad640b8489c35fc7a5e7b3bcb4e457d73"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad640b8489c35fc7a5e7b3bcb4e457d73"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>isHexDigit</b> (char c)</td></tr>
<tr class="separator:ad640b8489c35fc7a5e7b3bcb4e457d73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac60e963ce384bcde622a5226c032cbed"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac60e963ce384bcde622a5226c032cbed"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>hexDigitToInt</b> (char digit)</td></tr>
<tr class="separator:ac60e963ce384bcde622a5226c032cbed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac66738f4064b84d8e762e0f3bee90dbe"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_intel_hex_file.html#ac66738f4064b84d8e762e0f3bee90dbe">readHexByte</a> (std::string &amp;inString, int inIndex)</td></tr>
<tr class="separator:ac66738f4064b84d8e762e0f3bee90dbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a55831de408903d406b576e2ab190a770"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55831de408903d406b576e2ab190a770"></a>
std::istream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_intel_hex_file.html#a55831de408903d406b576e2ab190a770">m_stream</a></td></tr>
<tr class="memdesc:a55831de408903d406b576e2ab190a770"><td class="mdescLeft">&#160;</td><td class="mdescRight">The input stream for the Intel Hex data. <br /></td></tr>
<tr class="separator:a55831de408903d406b576e2ab190a770"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99f18e8e00b62074cd1d489bca8304ea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a99f18e8e00b62074cd1d489bca8304ea"></a>
std::vector&lt; <a class="el" href="class_st_intel_hex_file.html#struct_st_intel_hex_file_1_1_intel_hex">IntelHex</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_intel_hex_file.html#a99f18e8e00b62074cd1d489bca8304ea">m_records</a></td></tr>
<tr class="memdesc:a99f18e8e00b62074cd1d489bca8304ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Vector of Intel Hex in the input data. <br /></td></tr>
<tr class="separator:a99f18e8e00b62074cd1d489bca8304ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a417cf0203ca7d27c48cb861cff6da92e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a417cf0203ca7d27c48cb861cff6da92e"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_st_intel_hex_file.html#a417cf0203ca7d27c48cb861cff6da92e">m_name</a></td></tr>
<tr class="memdesc:a417cf0203ca7d27c48cb861cff6da92e"><td class="mdescLeft">&#160;</td><td class="mdescRight">File name. (optional) <br /></td></tr>
<tr class="separator:a417cf0203ca7d27c48cb861cff6da92e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Intel Hex parser. </p>
<p>This class takes an input stream and parses it as a Intel Hex file. While the individual records that comprise the file are available for access, the class also provides a higher-level view of the contents. It processes the individual records and builds an image of what the memory touched by the file looks like. Then you can access the contiguous sections of memory. </p>
</div><hr/><h2 class="groupheader">Class Documentation</h2>
<a name="struct_st_intel_hex_file_1_1_intel_hex" id="struct_st_intel_hex_file_1_1_intel_hex"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct StIntelHexFile::IntelHex</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Structure representing each individual line of the Intel Hex input data. </p>
</div><table class="fieldtable">
<tr><th colspan="3">Class Members</th></tr>
<tr><td class="fieldtype">
<a class="anchor" id="acd7c66fd92e8be556b2ce914e8f03572"></a>uint32_t</td>
<td class="fieldname">
m_address</td>
<td class="fielddoc">
The address offset of the data. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a9cacdeea783eccefcc11c0069b8c36df"></a>uint8_t</td>
<td class="fieldname">
m_checksum</td>
<td class="fielddoc">
The checksum byte used to verify the record. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a338071285fd287820a8be8eabb927ab3"></a>uint8_t *</td>
<td class="fieldname">
m_data</td>
<td class="fielddoc">
Pointer to data, or NULL if no data for this record. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="a240c8c26369693f72fd592a60cfc3ca1"></a>unsigned</td>
<td class="fieldname">
m_dataCount</td>
<td class="fielddoc">
The number of bytes in the data field. </td></tr>
<tr><td class="fieldtype">
<a class="anchor" id="ac28d638a2ff3a3dfc8bf30b58ed285f8"></a>unsigned</td>
<td class="fieldname">
m_type</td>
<td class="fielddoc">
<p>Type of the data field. 00: Data 01: End of File 02: Extended Segment Address 03: Start Segment Address 04: Extended Linear Address 05: Start Linear Address </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a37726a97d5c949871ae6e561cd9828ee"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">StIntelHexFile::~StIntelHexFile </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor. </p>
<p>Frees any data allocated as part of an Intel Hex. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a9c000d8ebb7535feb74de81edea92c4a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_st_intel_hex_file.html#ac902c707a034d1eb89b56bb6fe13ab24">const_iterator</a> StIntelHexFile::getBegin </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>iterator for </dd></dl>

</div>
</div>
<a class="anchor" id="a97aad2d5b0d73357cd1c91afc6b45b0c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned StIntelHexFile::getRecordCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>the number of Intel Hex that have been parsed from the input stream. </dd></dl>

</div>
</div>
<a class="anchor" id="a399e83b4aca8c4736f0c992de9437601"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool StIntelHexFile::isIntelHexFile </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Determine if the file is a Intel Hex file. </p>
<p>Just looks for ":" as the first characters of the file followed by two digit characters. </p>

</div>
</div>
<a class="anchor" id="a1ddac1cc6452490a040587ef8898da12"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void StIntelHexFile::parse </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Parse the entire <a class="el" href="class_st_intel_hex_file.html#struct_st_intel_hex_file_1_1_intel_hex">IntelHex</a> input stream. </p>
<p>Extract records one line at a time and hand them to the <a class="el" href="class_st_intel_hex_file.html#a9750cf272567fc1808c5c7dac984631b" title="Parses individual Intel Hex. ">parseLine()</a> method. Either CR, LF, or CRLF line endings are supported. The input stream is read until EOF or an file end record detected. The <a class="el" href="class_st_intel_hex_file.html#a1ddac1cc6452490a040587ef8898da12" title="Parse the entire IntelHex input stream. ">parse()</a> method must be called after the object has been constructed before any of the records will become accessible. </p><dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="class_st_intel_hex_parse_exception.html" title="Simple exception thrown to indicate an error in the input Intel Hex data format. ">StIntelHexParseException</a></td><td>will be thrown if any error occurs while parsing the input. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9750cf272567fc1808c5c7dac984631b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void StIntelHexFile::parseLine </td>
          <td>(</td>
          <td class="paramtype">std::string &amp;&#160;</td>
          <td class="paramname"><em>inLine</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Parses individual Intel Hex. </p>
<p>Takes a single Intel Hex line as input and appends a new <a class="el" href="class_st_intel_hex_file.html#struct_st_intel_hex_file_1_1_intel_hex">IntelHex</a> struct to the m_records vector. </p><dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="class_st_intel_hex_parse_exception.html" title="Simple exception thrown to indicate an error in the input Intel Hex data format. ">StIntelHexParseException</a></td><td>will be thrown if any error occurs while parsing <em>inLine</em>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac66738f4064b84d8e762e0f3bee90dbe"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int StIntelHexFile::readHexByte </td>
          <td>(</td>
          <td class="paramtype">std::string &amp;&#160;</td>
          <td class="paramname"><em>inString</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>inIndex</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="class_st_intel_hex_parse_exception.html" title="Simple exception thrown to indicate an error in the input Intel Hex data format. ">StIntelHexParseException</a></td><td>is thrown if either of the nibble characters is not a valid hex digit. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="_st_intel_hex_file_8h_source.html">StIntelHexFile.h</a></li>
<li>StIntelHexFile.cpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="class_st_intel_hex_file.html">StIntelHexFile</a></li>
    <li class="footer">Generated on Mon Mar 7 2016 16:49:51 for Kinetis Bootloader Host by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
